package Transport

import (
	"context"
	"encoding/json"
	"errors"
	Endpoint2 "go-kit/demo1/Endpoint"
	"net/http"
	"strconv"
)

//接收参数对参数进行处理
func DecodeUserTransport(c context.Context, r *http.Request) (interface{}, error) {

	//获取uid 参数
	uid := r.URL.Query().Get("uid")

	//如果 uid 不等于空 则对 请求结构进行赋值
	if uid != "" {

		//把 字符串转整数
		IntUid, _ := strconv.Atoi(r.URL.Query().Get("uid"))
		//调用
		return Endpoint2.UserRequest{Uid: IntUid}, nil
	}

	//参数错误直接返回
	return nil, errors.New("参数错误")

}

//返回结果 处理
func EncodeUserTransport(c context.Context, w http.ResponseWriter, response interface{}) error {

	//设置响应格式为json，这样客户端接收到的值就是json，就是把我们设置的UserResponse给json化了
	w.Header().Set("Content-type", "application/json")

	return json.NewEncoder(w).Encode(response)

}
